#2.编写一个装饰器，用于缓存函数的结果，以便在相同参数调用时返回缓存的结果。
import time


def cache_fun(func):
    #被装饰的函数的入参作为key，存储dict
    a={}
    def inner(*args):
        if args in a.keys():
            return a[args]
        result=func(*args)
        return result

    return inner

@cache_fun
def add(a,b):
    time.sleep(3)
    return a+b

if __name__ == '__main__':
    print(add(1, 2))
    print(add(1, 2))